/**
  ************************************* Copyright ******************************
  * FileName   : ds18b20.h
  * Version    : v1.0
  * Author     : yychao
  * Date       : 2023-01-28
  * Description:
  * Function List:
  	1. ....
  	   <version>:
  <modify staff>:
  		  <data>:
   <description>:
  	2. ...
  ******************************************************************************
 */

#ifndef __DS18B20_H_
#define __DS18B20_H_

#include "main.h"

#define DS18B20_NUM		(0x04)
typedef struct {
    uint8_t read_num;
    uint8_t cnt;
    float tem_val[DS18B20_NUM];
    uint16_t val_16bit[DS18B20_NUM];
    uint16_t status[DS18B20_NUM];
} ds18b20;
extern ds18b20 ds18b20_data_st;

void DS18B20_RST(ds18b20* ds18b20_st);
uint8_t DS18B20_CHECK(ds18b20* ds18b20_st);
uint8_t DS18B20_READ_BIT(ds18b20* ds18b20_st);
uint8_t DS18B20_READ_BYTE(ds18b20* ds18b20_st);
void DS18B20_WRITE_BYTE(ds18b20* ds18b20_st, uint8_t data);
uint8_t DS18B20_INI(ds18b20* ds18b20_st);
void DS18B20_START_CONV(ds18b20* ds18b20_st);
void DS18B20_READ_RAM(ds18b20* ds18b20_st);
void DS18B20_GET_TEMP(ds18b20* ds18b20_st);
#endif


